// This file is part of Keepass2Android, Copyright 2025 Philipp Crocoll.
//
//   Keepass2Android is free software: you can redistribute it and/or modify
//   it under the terms of the GNU General Public License as published by
//   the Free Software Foundation, either version 3 of the License, or
//   (at your option) any later version.
//
//   Keepass2Android is distributed in the hope that it will be useful,
//   but WITHOUT ANY WARRANTY; without even the implied warranty of
//   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//   GNU General Public License for more details.
//
//   You should have received a copy of the GNU General Public License
//   along with Keepass2Android.  If not, see <http://www.gnu.org/licenses/>.

namespace keepass2android.Io.ItemLocation
{
  public abstract class OneDrive2PrefixContainer
  {
    public abstract string Onedrive2ProtocolId { get; }
    public string Onedrive2Prefix { get { return Onedrive2ProtocolId + "://"; } }
  }

  //for permissions including all my files and all shared files
  public class OneDrive2FullPrefixContainer : OneDrive2PrefixContainer
  {
    public override string Onedrive2ProtocolId { get { return "onedrive2_full"; } }
  }

  //for permissions including all my files
  public class OneDrive2MyFilesPrefixContainer : OneDrive2PrefixContainer
  {
    public override string Onedrive2ProtocolId { get { return "onedrive2_myfiles"; } }
  }

  //for permissions to app folder only
  public class OneDrive2AppFolderPrefixContainer : OneDrive2PrefixContainer
  {
    public override string Onedrive2ProtocolId { get { return "onedrive2_appfolder"; } }
  }
}